Barrel shifters are widely used for making rightward, leftward, and circular shifts of words of N bits, depending on the loading mode. Rightward shifts ar effected by setting the left input word to zero, rightward shifts by setting the right input word to zero, and circular shifts by setting the two input words to be identical to the word to be shifted.
In general, computer designers attempt to ensure the integrity of their systems by detecting and eliminating binary data corrupted by logic errors or physical malfunctioning of the system. The use of parity bits associated with the data is a convenient method of error detection while the data is being processed, either during logic operations or data shifting. First, each data word is subdivided into several fields or groups of bits. Then, "exclusive-OR" logic circuits are used to calculate the parity bit associated with each group. However, this operation requires time to generate the parity to be checked, particularly when the width of the group requires several exclusive-OR gate stages arranged in a cascade.
In particular, when the data is processed by an operator such as a barrel shifter, it is sometimes useful to calculate the parity bits associated with each result coming from the exclusive-OR operator. This calculation can be made by the usual method using the result itself. However, there is significant delay between the time that the parity information is calculated and the moment when the information is available for subsequent processing.